***Antipattern***
Count: 0

***Pattern***
Count: 34
-GET  /environments/{environment_id}/zones/{zone_id}/things/{thing_id}/data/{key} Get thing data value. Gets a single data value for a thing.
-POST  /environments/{environment_id}/zones/{zone_id}/things New thing. Creates a new thing from the template.
-DELETE  /environments/{environment_id}/zones/{zone_id} Delete zone. Deletes a zone.
-GET  /environments?latitude={latitude}&longitude={longitude} Gets a list of all environments. Params can include the following: If latitude and longitude are specified, gets a list of environments whose geofence contains the given point. The geofence of each environment includes all points within a particular distance from a point on earth.
-GET  /environments/{environment_id}/devices?key={key}&value={value} List devices. Gets a list of all devices in the environment. Params can include the following: If key and value are specified, returns devices whose data objects contain the given key/value pair.
-GET  /environments List environments. Gets a list of all environments.
-POST  /environments/{environment_id}/devices New device. Creates a new device from the template.
-GET  /environments/{environment_id}/devices List devices. Gets a list of all devices in the environment.
-GET  /environments/{environment_id}/devices/{device_id}/data/{key} Get device data value. Gets a single data value for a device.
-GET  /environments/{environment_id}/zones/{zone_id}/things List things. Gets a list of all things in a zone.
-GET  /environments/{environment_id}/devices?x={x}&y={y}&distance={distance} List devices. Gets a list of all devices in the environment. Params can include the following: If x, y and distance values are specified, returns a list of all devices in the environment that are within the given distance from the given point.
-GET  /environments/{environment_id}/devices/{device_id}/data Get device data. Gets all data values for a device by making a REST call. You can also get the data for a device using the getData Socket.IO call.
-PUT  /environments/{environment_id}/devices/{device_id} Update device. Updates a device. The message can contain just the properties of the object to be updated.
-POST  /environments New environment Creates a new environment from the template.
-GET  /environments/{environment_id}/zones?key={key}&value={value} Gets a list of all zones in the environment. Params can include the following: If key and value are specified, returns zones whose data objects contain the given key/value pair.
-PUT  /environments/{environment_id} Update environment. Updates an environment. The message can contain just the properties of the object to be updated.
-GET  /environments/{environment_id}/zones/{zone_id}/things/{thing_id}/position Get thing position. Gets the position for a thing by making a REST call. You can also get the position of a thing using the getPosition Socket.IO call.
-GET  /environments/{environment_id}/zones List zones. Gets a list of all zones in the environment.
-PUT  /environments/{environment_id}/zones/{zone_id}/things/{thing_id} Update thing. Updates a thing. The message can contain just the properties of the object to be updated.
-GET  /environments/{environment_id}/zones/{zone_id} Get zone. Gets a zone.
-GET  /environments/{environment_id}/zones/{zone_id}/things?key={key}&value={value} List things. Gets a list of all things in a zone. Params can include the following: If key and value are specified, returns things whose data objects contain the given key/value pair.
-POST  /environments/{environment_id}/zones New zone. Creates a new zone from the template.
-GET  /environments/{environment_id}/devices/{device_id} Get device. Gets a device.
-GET  /environments/{environment_id}/zones/{zone_id}/things/{thing_id}/data Get thing data. Gets all data values for a thing by making a REST call. You can also get the data for a thing using the getData Socket.IO call.
-GET  /environments/{environment_id}/zones?x={x}&y={y} Gets a list of all zones in the environment. Params can include the following: If x and y coordinates are specified, returns a list of all zones in the environment containing the given point.
-DELETE  /environments/{environment_id}/zones/{zone_id}/things/{thing_id} Delete thing. Deletes a thing.
-DELETE  /environments/{environment_id}/devices/{device_id} Delete device. Deletes a device.
-GET  /environments/{environment_id}/zones/{zone_id}/things?x={x}&y={y}&distance={distance} List things. Gets a list of all things in a zone. Params can include the following: If x, y and distance values are specified, returns a list of all things in the zone that are within the given distance from the given point.
-GET  /environments/{environment_id}/zones/{zone_id}/things/{thing_id} Get thing. Gets a thing.
-GET  /environments?key={key}&value={value} Gets a list of all environments. Params can include the following: If key and value are specified, returns environments whose data objects contain the given key/value pair.
-PUT  /environments/{environment_id}/zones/{zone_id} Updates a zone. The message can contain just the properties of the object to be updated.
-GET  /environments/{environment_id}/devices/{device_id}/position Get device position. Gets the position for a device by making a REST call. You can also get the position of a device using the getPosition Socket.IO call.
-DELETE  /environments/{environment_id} Delete environment. Deletes an environment.
-GET  /environments/{environment_id} Get environment. Gets an environment.
